// SpecDefManage.h: interface for the SpecDefManage class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SPECDEFMANAGE_H__5C84CD0E_3043_4FD9_BA7A_BA9E39F3B1FC__INCLUDED_)
#define AFX_SPECDEFMANAGE_H__5C84CD0E_3043_4FD9_BA7A_BA9E39F3B1FC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ManagerTemplate.h"
#include "SpecDefinition.h"

namespace Specification
{
	class DllExport SpecDefManage : public ReferenceManager<StdString, SpecDefPtr, SpecDefPtr> 
	{
	public:
		SpecDefManage();
		virtual ~SpecDefManage();
		
	public:
		static SpecDefManage* Instance();

	public:
		virtual SpecDefPtr GetSpecDef(const StdString& strSpecKey) = 0;
	};
}


#endif // !defined(AFX_SPECDEFMANAGE_H__5C84CD0E_3043_4FD9_BA7A_BA9E39F3B1FC__INCLUDED_)
